/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.zanotti.acessobanco;

import javax.swing.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;

/**
 * Classe responsável por realizar todas consultas relacionadas a Tabela da janela de Entrega.
 * @author F.L. Zanotti
 */
public class conTableEntrega {
/**
 * Realiza uma consulta "Total" para a Tabela Entrega.
 * @param testeTabela
 * @return
 */
    public JTable ConsultaTabelaToda(JTable testeTabela) {
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs = null;
        try {
            con = AbreConexao.getConexao();

            String query = "SELECT c.NMCLIENTE, TO_CHAR(NVL(p.DTENTREGA, '01/01/01'), 'DD/MM/YY') as DTENTREGA, p.CDVENDA from CLIENTE c JOIN PEDIDO p " +
                    "USING (CDCLIENTE)" +
                    "WHERE p.DTENTREGA != '01/01/01'";

            pst = con.prepareStatement(query);

            rs = pst.executeQuery();
            DefaultTableModel modelo = (DefaultTableModel) testeTabela.getModel();
            modelo.setNumRows(0);

            while (rs.next()) {
                String NMCLIENTE = rs.getString("NMCLIENTE");
                String DTENTREGA = rs.getString("DTENTREGA");
                String CDVENDA = rs.getString("CDVENDA");

                NMCLIENTE = NMCLIENTE.trim();

                Vector teste = new Vector();
                teste.addElement(NMCLIENTE);
                teste.addElement(DTENTREGA);
                teste.addElement(CDVENDA);

                modelo.addRow(teste);

            }

            return testeTabela;
        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            try {
                rs.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
            try {
                pst.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
            try {
                con.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
        }


        return null;
    }
/**
 * Realiza uma consulta para a Tabela Entrega a partir do nome do cliente.
 * @param testeTabela
 * @param s
 * @return
 */
    public JTable ConsultaTabelaPorCliente(JTable testeTabela, String s) {
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs = null;

        try {
            con = AbreConexao.getConexao();

            String query = "SELECT c.NMCLIENTE, TO_CHAR(NVL(p.DTENTREGA, '01/01/01') , 'DD/MM/YY') as DTENTREGA, p.CDVENDA from CLIENTE c JOIN PEDIDO p " +
                    "USING (CDCLIENTE)" +
                    " WHERE c.NMCLIENTE LIKE '"+s+"%'" +
                    " AND p.DTENTREGA != '01/01/01'";



            pst = con.prepareStatement(query);

            rs = pst.executeQuery();
            DefaultTableModel modelo = (DefaultTableModel) testeTabela.getModel();
            modelo.setNumRows(0);

            while (rs.next()) {

                String NMCLIENTE = rs.getString("NMCLIENTE");
                String DTENTREGA = rs.getString("DTENTREGA");
                String CDVENDA = rs.getString("CDVENDA");


                NMCLIENTE = NMCLIENTE.trim();




                Vector teste = new Vector();
                teste.addElement(NMCLIENTE);
                teste.addElement(DTENTREGA);
                teste.addElement(CDVENDA);

                modelo.addRow(teste);



            }
            System.out.println(testeTabela.getRowCount());
            return testeTabela;
        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (pst != null) {
                try {
                    pst.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
        }
        return null;
    }
        public JTable ConsultaTabelaPorVenda(JTable testeTabela, String s) {
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs = null;
        try {
            con = AbreConexao.getConexao();

            String query = "SELECT c.NMCLIENTE, TO_CHAR(NVL(p.DTENTREGA, '01/01/01'), 'DD/MM/YY') as DTENTREGA, p.CDVENDA from CLIENTE c JOIN PEDIDO p " +
                    "USING (CDCLIENTE)" +
                    " WHERE p.CDVENDA LIKE '"+s+"%'" +
                    " AND p.DTENTREGA != '01/01/01'";


                pst = con.prepareStatement(query);

            rs = pst.executeQuery();
            DefaultTableModel modelo = (DefaultTableModel) testeTabela.getModel();
            modelo.setNumRows(0);

            while (rs.next()) {

                String NMCLIENTE = rs.getString("NMCLIENTE");
                String DTENTREGA = rs.getString("DTENTREGA");
                String CDVENDA = rs.getString("CDVENDA");

                NMCLIENTE = NMCLIENTE.trim();

                Vector teste = new Vector();
                teste.addElement(NMCLIENTE);
                teste.addElement(DTENTREGA);
                teste.addElement(CDVENDA);
                modelo.addRow(teste);



            }
            System.out.println(testeTabela.getRowCount());
            return testeTabela;
        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (pst != null) {
                try {
                    pst.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
        }
        return null;
    }





}
